export default {
  inserted(el) {
    let isComposing = false;

    const formatInput = (e) => {
      if (isComposing) return; // 输入法输入进行中，暂不格式化
      let value = e.target.value;
      const formattedValue = value.replace(/[^\d]/g, ""); // 只能输入数字

      if (value !== formattedValue) {
        e.target.value = formattedValue; // 更新输入框的值
      }
    };

    el.addEventListener("compositionstart", () => (isComposing = true)); // 开始输入法输入
    el.addEventListener("compositionend", (e) => {
      isComposing = false;
      formatInput(e); // 输入法输入结束后立即格式化内容
    });
    el.addEventListener("input", formatInput);
    el.addEventListener("blur", formatInput); // 失去焦点时再次校验
    el.addEventListener("change", formatInput); // 变化时再次校验
  },
};
